#Anaconda/envs/pyqtenv python
# -*- coding: utf-8 -*-
'''
ComNetorchestrShowFun.py
========================

.. module:: ComNetorchestrShowFun
  :platform: Windows, Linux
  :synopsis: ***模块，用于***功能。

.. moduleauthor:: WangXi

简介
----

该模块实现了***的功能，主要用于***应用程序中。它提供了以下特性：

- 使用***组件呈现***
- 支持基本***控制操作（如***、***、***等）。

版本
----

- 版本 1.0 (2025/10/21): 初始版本

'''

from PyQt5.QtWidgets import QComboBox
from PyQt5.QtCore import pyqtSlot, pyqtSignal

from Netterminal.Sources.Component.ComBaseFun import ComBaseFun
from Netterminal.Sources.Device.DevPltMap import DevPltMap
from Netterminal.Sources.Device.DevTimeProcess import DevTimeProcess

class ComNetorchestrShowFun(ComBaseFun):
    data_type_changed_signal = pyqtSignal()
    
    def __init__(self, name, **kwargs):
        super().__init__(name)
        self.name = name
        
        self.register(**kwargs)
        self.ready()
    
    def register(self, **kwargs):
        self.datatype_choose_comboBox:QComboBox = kwargs.get('datatype_choose_comboBox', None)
        self.devPltMap = DevPltMap("PltMap", **kwargs)
        self.devTimeProcess = DevTimeProcess("TimeProcess", **kwargs)
    
    def ready(self):
        self.datatype_choose_comboBox.addItems(["none", "cpu", "ram", "rom", "band"])
        self.datatype_choose_comboBox.setCurrentIndex(0)
        self.datatype_choose_comboBox.currentIndexChanged.connect(self.ctl_data_type_changed)
        self.devPltMap.ready()
        self.devTimeProcess.ready()

    @pyqtSlot()
    def ctl_data_type_changed(self):
        self.data_type_changed_signal.emit()

